C++ Boost Accumulators累加器详细讲解

您所在的位置:网站首页 cpp boost库 C++ Boost Accumulators累加器详细讲解

C++ Boost Accumulators累加器详细讲解

2022-12-17 20:41| 来源: 网络整理| 查看: 265

C++ Boost Accumulators累加器详细讲解

Boost.AccumulatorsBoost.Accumulators提供了处理样本的类。例如,您可以找到最大或最小的样本,或者计算所有样本的总和。虽然标准库支持其中一些操作,但Boos...

Boost.Accumulators 

        Boost.Accumulators 提供了处理样本的类。例如,您可以找到最大或最小的样本,或者计算所有样本的总和。虽然标准库支持其中一些操作,但 Boost.Accumulators 还支持统计计算,例如均值和标准差。

        该库称为 Boost.Accumulators,因为累加器是一个基本概念。累加器是一个容器,每次插入一个值时都会计算出一个新的结果。该值不一定存储在累加器中。相反,累加器在输入新值时不断更新中间结果。

        Boost.Accumulators 包含三个部分:

框架提供了库的整体结构。它提供类 boost::accumulators::accumulator_set,它总是与 Boost.Accumulators 一起使用。虽然您需要了解这个类和框架中的其他一些类,但细节并不重要,除非您想开发自己的累加器。头文件 boost/accumulators/accumulators.hpp 使您可以访问 boost::accumulators::accumulator_set 和框架中的其他类。Boost.Accumulators 提供了许多执行计算的累加器。一旦包含 boost/accumulators/statistics.hpp,您就可以访问和使用所有这些累加器。Boost.Accumulators 提供运算符,例如,将一个 std::complex 类型的复数与一个 int 值相乘或将两个向量相加。头文件 boost/accumulators/numeric/functional.hpp 定义了 std::complex、std::valarray 和 std::vector 的运算符。您不需要自己包含头文件,因为它包含在累加器的头文件中。但是,您必须定义宏 BOOST_NUMERIC_FUNCTIONAL_STD_COMPLEX_SUPPORT、BOOST_NUMERIC_FUNCTIONAL_STD_VALARRAY_SUPPORT 和 BOOST_NUMERIC_FUNCTIONAL_STD_VECTOR_SUPPORT 以使运算符可用。

        Boost.Accumulators 提供的所有类和函数都在 boost::accumulators 或嵌套命名空间中定义。例如,所有累加器都在 boost::accumulators::tag 中定义。

示例 58.1。使用 boost::accumulators::tag::count 计数

#include #include #include using namespace boost::accumulators; int main() { accumulator_set acc; acc(4); acc(-6); acc(9); std::cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3